/* Copyright 2006 Nicklas R Johnson
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 */

package net.spatula.tally_ho.ui.signin;

import javax.servlet.http.HttpSession;

import net.spatula.tally_ho.service.beans.UserBean;

import wicket.protocol.http.WebRequest;
import wicket.protocol.http.WebRequestCycle;

/**
 * @author spatula
 *
 */
public class Utils {
	
	private static final String USER_BEAN_ATTR = "userBean";

	public static final UserBean getUserBean() {
		HttpSession session = getSession();
		Object userBean = session.getAttribute(USER_BEAN_ATTR);
		if (userBean == null) {
			return null;
		}
		if (!(userBean instanceof UserBean)) {
			// garbage in the session?
			setUserBean(null);
			return null;
		}
		return (UserBean)userBean;
	}

	private static HttpSession getSession() {
		HttpSession session = ((WebRequest)(WebRequestCycle.get().getRequest())).getHttpServletRequest().getSession();
		return session;
	}
	
	static final void setUserBean(UserBean userBean) {
		HttpSession session = getSession();
		session.setAttribute(USER_BEAN_ATTR, userBean);
	}

}
